﻿using System;
using System.Collections.Generic;
using Autodesk.Revit.DB;
using YJKArchUtils.Utils;

namespace YJKRevitArea.AreaSet
{
	public class ClosedAreaMoreInformation : ClosedArea
	{
		public ClosedAreaMoreInformation()
		{
			this.m_outerBoundary = new List<Curve>();
			this.m_innerBoundary = new List<List<Curve>>();
			this.LstOuterBoundaryBean = new List<CurveInformationBean>();
			this.LstlstInnerBoundaryBean = new List<List<CurveInformationBean>>();
		}

		public List<CurveInformationBean> LstOuterBoundaryBean
		{
			get
			{
				return this.m_lstOuterBoundaryBean;
			}
			private set
			{
				this.m_lstOuterBoundaryBean = value;
			}
		}

		public List<List<CurveInformationBean>> LstlstInnerBoundaryBean
		{
			get
			{
				return this.m_lstlstInnerBoundaryBean;
			}
			private set
			{
				this.m_lstlstInnerBoundaryBean = value;
			}
		}

		public void AddLstOuterBoundaryBean(List<CurveInformationBean> inputLstOutBean)
		{
			this.LstOuterBoundaryBean.AddRange(inputLstOutBean);
			foreach (CurveInformationBean curveInformationBean in inputLstOutBean)
			{
				this.m_outerBoundary.Add(curveInformationBean.ThisCurve);
			}
		}

		public void AddLstInnerBoundaryBean(List<CurveInformationBean> inputLstinnerBean)
		{
			this.LstlstInnerBoundaryBean.Add(inputLstinnerBean);
			List<Curve> list = new List<Curve>();
			this.m_innerBoundary.Add(list);
			foreach (CurveInformationBean curveInformationBean in inputLstinnerBean)
			{
				list.Add(curveInformationBean.ThisCurve);
			}
		}

		private List<CurveInformationBean> m_lstOuterBoundaryBean = new List<CurveInformationBean>();

		private List<List<CurveInformationBean>> m_lstlstInnerBoundaryBean = new List<List<CurveInformationBean>>();
	}
}
